package com.mengzhilan.base;

import org.xlp.db.tableoption.annotation.XLPEntity;

import java.lang.annotation.*;

/**
 * 标记是否是数据模型对象 2023-11-17
 * @author xlp
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@Documented
public @interface Model {
    /**
     * 默认标签标变号
     */
    String DEFAULT_LABEL_CODE = "object";

    /**
     * 默认标签标名称
     */
    String DEFAULT_LABEL_NAME = "对象";

    /**
     * 模型名称
     * @see XLPEntity#descriptor()
     */
    String value() default "";

    /**
     * 模型描述
     * @return
     */
    String description() default "";

    /**
     * 模型所属标签编号
     * @return
     */
    String labelCode() default Model.DEFAULT_LABEL_CODE;

    /**
     * 模型所属标签名称
     * @return
     */
    String labelName() default "";

    /**
     * 图标类型
     * @return
     */
    String iconType() default "element-ui";

    /**
     * 图标
     * @return
     */
    String icon() default "";

    /**
     * 该标记的模型是否可实例化，默认可以
     * @return
     */
    boolean instance() default true;
}
